Skip to content

Matched advisory candidates (shard 2b) - #1571

Open
BrewTestBot wants to merge 1 commit into
mainfrom
matched-advisories-2b
Open

BrewTestBot wants to merge 1 commit into
mainfrom
matched-advisories-2b

Conversation

@BrewTestBot

@BrewTestBot BrewTestBot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Automated candidates via brew advisory-match --formula-list (planned workers) --new-history, sharded by formula (SHA-256 bucket 2b). See CONTRIBUTING.md for the review checklist.

Partial daily run: successful buckets only; the older standing PR may overlap.

Run and review artifacts: https://github.com/Homebrew/advisory-database/actions/runs/40842477066

@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Important

Review skipped

We couldn't safely recover the incremental review. No full review was started, and the last reviewed checkpoint was preserved. Retry later, or explicitly request a full review by commenting @coderabbitai full review.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Summary

Summary by CodeRabbit

  • Security Advisories
    • Added security advisories for vulnerabilities affecting aider, dnsviz, datalad, mcp-proxy, mistral-vibe and py7zr, with affected versions, severity details and upstream references.
    • Updated existing aider advisories with upstream identifiers and references, refreshed modification dates, and added CVSS v4 severity information where applicable.
    • Added further guidance on issues involving image processing, Git operations, authentication, redirects and schema validation, including affected-version details and upstream fix information where available.

This change updates existing aider advisory metadata and adds security advisory records for aider, mistral-vibe, datalad, dnsviz, mcp-proxy, and py7zr. The records include affected-version data, vulnerability descriptions, severity information, and upstream references.

Changes: Security advisory records

Layer / File(s) Summary
Update existing aider advisory metadata
advisories/BREW-aider-CVE-2025-43859.json, advisories/BREW-aider-CVE-2026-111063.json, advisories/BREW-aider-CVE-2026-112*.json
The records receive updated modification timestamps, Pillow upstream identifiers, and additional references. The 111063 record also gains a CVSS v4 severity entry and an NVD reference.
Add aider GitPython advisories
advisories/BREW-aider-CVE-2026-110855.json–advisories/BREW-aider-CVE-2026-110860.json, advisories/BREW-aider-CVE-2026-114145.json
The records describe reported GitPython vulnerabilities, including environment-variable expansion, regex backtracking, unsafe argument handling, file disclosure, symlink handling, and submodule-path behaviour. They include affected-version data, severity information, and upstream references.
Add aider Pillow advisories
advisories/BREW-aider-CVE-2026-114501.json, advisories/BREW-aider-CVE-2026-966*.json, advisories/BREW-aider-CVE-2026-96778.json
The records describe reported Pillow vulnerabilities, including image parsing and decoding issues, resource exhaustion, memory impacts, and information disclosure. They include affected-version data, severity information, and upstream references.
Add aider LiteLLM advisories
advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json, advisories/BREW-aider-GHSA-hhww-mrg2-969h.json
The records describe reported local file disclosure and reflected XSS issues in LiteLLM. They include affected-version data, severity information, and upstream references.
Add mistral-vibe security advisories
advisories/BREW-mistral-vibe-*.json
The records cover reported GitPython, OpenTelemetry tracestate parsing, PyJWT JWK verification, and MCP SDK issues. They include affected-version data, severity information, and upstream references.
Add other package security advisories
advisories/BREW-datalad-CVE-2026-114613.json, advisories/BREW-dnsviz-*.json, advisories/BREW-mcp-proxy-*.json, advisories/BREW-py7zr-CVE-2026-111497.json
The records document reported advisories for datalad, dnsviz, mcp-proxy, and py7zr, including affected versions, vulnerability details, severity information, and upstream references.

Priority: Normal

Merge Risk: Moderate · previous review 0924d

The datalad advisory presents an affected-version lower bound as certain when its own text says that bound is unresolved. The two aider LiteLLM advisories may flag an installation whose proxy code cannot run. Confirm both before merging, or accept the risk of inaccurate alerts. The remaining metadata updates and new advisory records are low risk.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly identifies the main change: adding matched advisory candidates for shard 2b.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The pull request description clearly describes an automated advisory-candidate run, sharding, partial results, possible overlap, and review artefacts. These details match the advisory additions and up…
Full details: Description check

Explanation

The pull request description clearly describes an automated advisory-candidate run, sharding, partial results, possible overlap, and review artefacts. These details match the advisory additions and updates in the changeset.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@BrewTestBot
BrewTestBot force-pushed the matched-advisories-2b branch 5 times, most recently from badc901 to 23cfbfe Compare October 27, 2026 21:38

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2


Review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between badc901 and 23cfbfe.

Files selected for processing: 61
  • advisories/BREW-aider-CVE-2025-43859.json
  • advisories/BREW-aider-CVE-2026-110855.json
  • advisories/BREW-aider-CVE-2026-110856.json
  • advisories/BREW-aider-CVE-2026-110857.json
  • advisories/BREW-aider-CVE-2026-110858.json
  • advisories/BREW-aider-CVE-2026-110859.json
  • advisories/BREW-aider-CVE-2026-110860.json
  • advisories/BREW-aider-CVE-2026-111063.json
  • advisories/BREW-aider-CVE-2026-112390.json
  • advisories/BREW-aider-CVE-2026-112391.json
  • advisories/BREW-aider-CVE-2026-112392.json
  • advisories/BREW-aider-CVE-2026-112393.json
  • advisories/BREW-aider-CVE-2026-112394.json
  • advisories/BREW-aider-CVE-2026-112395.json
  • advisories/BREW-aider-CVE-2026-112396.json
  • advisories/BREW-aider-CVE-2026-112397.json
  • advisories/BREW-aider-CVE-2026-112399.json
  • advisories/BREW-aider-CVE-2026-112400.json
  • advisories/BREW-aider-CVE-2026-112401.json
  • advisories/BREW-aider-CVE-2026-112402.json
  • advisories/BREW-aider-CVE-2026-112403.json
  • advisories/BREW-aider-CVE-2026-112404.json
  • advisories/BREW-aider-CVE-2026-112405.json
  • advisories/BREW-aider-CVE-2026-112406.json
  • advisories/BREW-aider-CVE-2026-112891.json
  • advisories/BREW-aider-CVE-2026-112892.json
  • advisories/BREW-aider-CVE-2026-112893.json
  • advisories/BREW-aider-CVE-2026-112894.json
  • advisories/BREW-aider-CVE-2026-112895.json
  • advisories/BREW-aider-CVE-2026-112896.json
  • advisories/BREW-aider-CVE-2026-112897.json
  • advisories/BREW-aider-CVE-2026-112898.json
  • advisories/BREW-aider-CVE-2026-112900.json
  • advisories/BREW-aider-CVE-2026-112901.json
  • advisories/BREW-aider-CVE-2026-114145.json
  • advisories/BREW-aider-CVE-2026-114501.json
  • advisories/BREW-aider-CVE-2026-96636.json
  • advisories/BREW-aider-CVE-2026-96637.json
  • advisories/BREW-aider-CVE-2026-96638.json
  • advisories/BREW-aider-CVE-2026-96639.json
  • advisories/BREW-aider-CVE-2026-96640.json
  • advisories/BREW-aider-CVE-2026-96641.json
  • advisories/BREW-aider-CVE-2026-96642.json
  • advisories/BREW-aider-CVE-2026-96643.json
  • advisories/BREW-aider-CVE-2026-96778.json
  • advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
  • advisories/BREW-aider-GHSA-hhww-mrg2-969h.json
  • advisories/BREW-datalad-CVE-2026-114613.json
  • advisories/BREW-dnsviz-CVE-2026-114605.json
  • advisories/BREW-dnsviz-GHSA-xmj3-9gf7-h52w.json
  • advisories/BREW-mcp-proxy-GHSA-pxh4-856f-4h89.json
  • advisories/BREW-mistral-vibe-CVE-2026-110855.json
  • advisories/BREW-mistral-vibe-CVE-2026-110856.json
  • advisories/BREW-mistral-vibe-CVE-2026-110857.json
  • advisories/BREW-mistral-vibe-CVE-2026-110858.json
  • advisories/BREW-mistral-vibe-CVE-2026-110859.json
  • advisories/BREW-mistral-vibe-CVE-2026-110860.json
  • advisories/BREW-mistral-vibe-CVE-2026-114145.json
  • advisories/BREW-mistral-vibe-CVE-2026-114603.json
  • advisories/BREW-mistral-vibe-GHSA-pxh4-856f-4h89.json
  • advisories/BREW-py7zr-CVE-2026-111497.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

"type": "ECOSYSTEM",
"events": [
{
"introduced": "0.14.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major · Data Integrity & Integration · Heavy lift

Supported by static analysis

Script executed:

set -eu
printf '%s\n' '--- advisory at reviewed head ---'
git show 23cfbfe5808a654c6724019bb5373c1ff97d37b9:advisories/BREW-datalad-CVE-2026-114613.json
printf '%s\n' '--- diff from merge base ---'
git diff --find-renames f5f213fd71f52ab1b30a810cf36d42680fb494fe -- advisories/BREW-datalad-CVE-2026-114613.json
printf '%s\n' '--- guidance references ---'
rg -n -F --glob 'CONTRIBUTING.md' -e 'reviewing matched candidates' -e 'affected' -e 'confidence' -e 'resource' . || test "$?" -eq 1
printf '%s\n' '--- repository references ---'
rg -n -F --glob '!vendor/**' --glob '!node_modules/**' -e 'datalad' -e 'msgpack' -e 'CVE-2026-114613' .

Repository: Homebrew/advisory-database

Length of output: 41307


Script executed:

printf '%s\n' '--- advisory ---'
git show 23cfbfe5808a654c6724019bb5373c1ff97d37b9:advisories/BREW-datalad-CVE-2026-114613.json
printf '%s\n' '--- changed file diff ---'
git diff f5f213fd71f52ab1b30a810cf36d42680fb494fe 23cfbfe5808a654c6724019bb5373c1ff97d37b9 -- advisories/BREW-datalad-CVE-2026-114613.json
printf '%s\n' '--- guidance ---'
find . -maxdepth 2 -name CONTRIBUTING.md -print
rg -n -F --glob 'CONTRIBUTING.md' -e 'matched candidates' -e 'affected' -e 'resource' . || true
printf '%s\n' '--- related records ---'
rg -n -F --glob '*.json' -e 'datalad' -e 'msgpack' -e 'CVE-2026-114613' . || true

Repository: Homebrew/advisory-database

Length of output: 41041


Script executed:

pwd
printf '%s\n' '--- advisory path ---'
if test -f advisories/BREW-datalad-CVE-2026-114613.json; then
  nl -ba advisories/BREW-datalad-CVE-2026-114613.json
else
  git show 23cfbfe5808a654c6724019bb5373c1ff97d37b9:advisories/BREW-datalad-CVE-2026-114613.json
fi

Repository: Homebrew/advisory-database

Length of output: 6091


Web query:

Homebrew datalad formula history msgpack 0.14.0 1.6.5 CVE-2026-114613

Result:

<source_evidence>
<source kind="open_page">
<title>RadioCSIRT - BREW-DATALAD-CVE-2026-57585 - Vulnerability-Lookup</title>
<location>https://cve.radiocsirt.org/vuln/brew-datalad-cve-2026-57585</location>
<excerpt>citeturn2view0 [wordlim: 200] Crawled: today; Content type: text/html; Source: open({&quot;ref_id&quot;:&quot;turn1search6&quot;,&quot;lineno&quot;:null}); Total lines: 642
L0:   * 【0†KEV Catalogs】 【1†All catalogs】
L1: 
L2: 【2†RadioCSIRT】 【3†CISA】 【4†CIRCL】 【5†ENISA】 【6†Shadowserver】 【7†Previdian】
L3:   * 【0†Community】 【8†Sightings】 【9†Comments】 【10†Bundles】 【11†Organizations】 【12†Contributors】
L4: 
L5: #####
L6: 
L7: [Button: Cancel] [Button: OK]
L8: 
L9: Success
L10: 
L11: ##### Action not permitted
L12: 
L13: Modal body text goes here.
L14: 
L15: [Button: Close]
L16: 
L17: ##### Modal Title
L18: 
L19: Modal Body
L20: 
L21: Source (Optional) [Input: Enter source]
L22: 
L23: [Button: Cancel] [Button: Confirm]
L24: #### 【13†BREW-DATALAD-CVE-2026-57585】 (【14†GHSA-6V7P-G79W-8964】)
L25: 
L26: Vulnerability from 【15†osv_homebrew】 – Published: 2026-08-13 16:42 – Updated: 2026-10-02 09:58 – 【16†Source website†github.com】
L27: 
L28: Summary
L29: 
L30: MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error
L31: 
L32: Details
L33: ### Impact
L34: 
L35: If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.
L36: 
L37: If the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.
L38: 
L39: ### Patches
L40: 
L41: v1.2.1
L42: ### Workarounds
L43: 
L44: Users should create a new Unpacker instead of reusing the same Unpacker after an error occurs.
L45: 
L46: Applying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data. If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.
L47: 
L48: Therefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.
L49: 
L50: Severity
L51: 
L52: 7.5 (High)
L53: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L54: 
L55: References
L56: 
L57:  | URL  | Type
L58: --- | --- | ---
L59: 【18†https://github.com/msgpack/msgpack-python/securit…†github.com】 WEB
L60: 【19†https://github.com/msgpack/msgpack-python/commit/…†github.com】 WEB
L61: 【20†https://github.com/msgpack/msgpack-python†github.com】 PACKAGE
L62: 【21†https://github.com/msgpack/msgpack-python/release…†github.com】 WEB
L63: 
L64: JSON
L65: 
L66: Share
L67:   * 【22†Hacker News†news.ycombinator.com】
L68:   * 【23†LinkedIn†www.linkedin.com】
L69:   * 【24†Mastodon†mastodonshare.com】
L70:   * 【25†Pinboard†api.pinboard.in】
L71:   * 【26†Reddit†reddit.com】
L72: 【0†To clipboard】
L73: 
L74:     {
L75:       &quot;affected&quot;: [
L76:         {
L77:           &quot;ecosystem_specific&quot;: {
L78:             &quot;fix&quot;: &quot;bump&quot;,
L79:             &quot;range_state&quot;: &quot;fixed&quot;,
L80:             &quot;resource&quot;: &quot;msgpack&quot;,
L81:             &quot;resource_purl&quot;: &quot;pkg:pypi/msgpack@1.2.3&quot;,
L82:             &quot;upstream_fixed_in&quot;: &quot;1.2.1&quot;
L83:           },
L84:           &quot;package&quot;: {
L85:             &quot;ecosystem&quot;: &quot;Homebrew&quot;,
L86:             &quot;name&quot;: &quot;datalad&quot;,
L87:             &quot;purl&quot;: &quot;pkg:brew/datalad&quot;
L88:           },
L89:           &quot;ranges&quot;: [
L90:             {
L91:               &quot;events&quot;: [
L92:                 {
L93:                   &quot;introduced&quot;: &quot;0.14.0&quot;
L94:                 },
L95:                 {
L96:                   &quot;fixed&quot;: &quot;1.6.0_1&quot;
L97:                 }
L98:               ],
L99:               &quot;type&quot;: &quot;ECOSYSTEM&quot;
L100:             }
L101:           ]
L102:         }
L103:       ],
L104:       &quot;database_specific&quot;: {
L105:         &quot;confidence&quot;: &quot;high&quot;,
L106:         &quot;source&quot;: &quot;matched&quot;,
L107:         &quot;strategy&quot;: &quot;registry&quot;,
L108:         &quot;upstream_evidence&quot;: [
L109:           {
L110:             &quot;ecosystem&quot;: &quot;PyPI&quot;,
L111:             &quot;key&quot;: &quot;pkg:pypi/msgpack@1.2.3&quot;,
L112:             &quot;name&quot;: &quot;msgpack&quot;,
L113:             &quot;resource&quot;: &quot;msgpack&quot;,
L114:             &quot;strategy&quot;: &quot;registry&quot;,
L115:             &quot;subject_version&quot;: &quot;1.2.3&quot;
L116:           }
L117:         ]
L118:       },
L119:       &quot;details&quot;: &quot;### Impact\n\nIf the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.\n\nIf the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.\n\n### Patches\n\nv1.2.1\n\n### Workarounds\n\nUsers should create a new Unpacker instead of reusing the same Unpacker after an error occurs.\n\nApplying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data.
L120: If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.\n\nTherefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.&quot;,
L121:       &quot;id&quot;: &quot;BREW-datalad-CVE-2026-57585&quot;,
L122:       &quot;modified&quot;: &quot;2026-10-02T09:58:16Z&quot;,
L123:       &quot;published&quot;: &quot;2026-08-13T16:42:09Z&quot;,
L124:       &quot;references&quot;: [
L125:         {
L126:           &quot;type&quot;: &quot;WEB&quot;,
L127:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964&quot;
L128:         },
L129:         {
L130:           &quot;type&quot;: &quot;WEB&quot;,
L131:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d&quot;
L132:         },
L133:         {
L134:           &quot;type&quot;: &quot;PACKAGE&quot;,
L135:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python&quot;
L136:         },
L137:         {
L138:           &quot;type&quot;: &quot;WEB&quot;,
L139:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/releases/tag/v1.2.1&quot;
L140:         }
L141:       ],
L142:       &quot;schema_version&quot;: &quot;1.7.3&quot;,
L143:       &quot;severity&quot;: [
L144:         {
L145:           &quot;score&quot;: &quot;CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H&quot;,
L146:           &quot;type&quot;: &quot;CVSS_V3&quot;
L147:         }
L148:       ],
L149:       &quot;summary&quot;: &quot;MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error&quot;,
L150:       &quot;upstream&quot;: [
L151:         &quot;GHSA-6v7p-g79w-8964&quot;,
L152:         &quot;CVE-2026-57585&quot;,
L153:         &quot;PYSEC-2026-3625&quot;
L154:       ]
L155:     }
L156: #### 【27†CVE-2026-57585】 (【27†GCVE-0-2026-57585】)
L157: 
L158: Vulnerability from 【28†cvelistv5】 – Published: 2026-06-30 21:36 – Updated: 2026-07-01 14:54
L159: 
L160: EPSS VEX
L161: 
L162: Title
L163: 
L164: MessagePack: Out-of-bounds read/crash on Unpacker reuse after caught error
L165: 
L166: Summary
L167: MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.1, there is an Out-of-bounds read/crash on Unpacker reuse after a caught error, potentially leading to a DoS attack. If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV. This issue has been fixed in version 1.2.1.
L168: 
L169: Severity
L170: 
L171: 7.5 (High)
L172: 
L173: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L174: 
L175: SSVC
L176: 
L177: Exploitation: none Automatable: yes Technical Impact: partial
L178: CISA Coordinator · CISA-ADP (v2.0.3)
L179: 
L180: Decision recorded 2026-07-01 14:54 UTC
L181: 
L182: CWE
L183: 
L184:   * 【29†CWE-416】 - Use After Free
L185: 
L186: Assigner
L187: 
L188: 【30†GitHub_M】 【31†mitre root】 【32†Scorecard】
L189: 
L190: References
L191: 
L192: 2 references
L193: 
L194: URL  | Tags
L195: --- | ---
L196: 【18†https://github.com/msgpack/msgpack-python/securit…†github.com】  | x_refsource_CONFIRM
L197: 【19†https://github.com/msgpack/msgpack-python/commit/…†github.com】  | x_refsource_MISC
L198: 
L199: Impacted products
L200: 
L201: 1 product
L202: Vendor  | Product  | Version  |
L203: --- | --- | --- | ---
L204: 【33†msgpack】  | 【34†msgpack-python】  | Affected: &lt; 1.2.1
L205:  |
L206: 
L207: 【35†Show details on NVD website†nvd.nist.gov】
L208: 
L209: JSON
L210: 
L211: Share
L212: 
L213:   * 【36†Hacker News†news.ycombinator.com】
L214:   * 【37†LinkedIn†www.linkedin.com】
L215:   * 【38†Mastodon†mastodonshare.com】
L216:   * 【39†Pinboard†api.pinboard.in】
L217:   * 【40†Reddit†reddit.com】
L218: 【0†To clipboard】
L219: 
L220:     {
L221:       &quot;containers&quot;: {
L222:         &quot;adp&quot;: [
L223:           {
L224:             &quot;metrics&quot;: [
L225:               {
L226:                 &quot;other&quot;: {
L227:                   &quot;content&quot;: {
L228:                     &quot;id&quot;: &quot;CVE-2026-57585&quot;,
L229:                     &quot;options&quot;: [
L230:                       {
L231:                         &quot;Exploitation&quot;: &quot;none&quot;
L232:                       },
L233:                       {
L234:                         &quot;Automatable&quot;: &quot;yes&quot;
L235:                       },
L236:                       {
L237:                         &quot;Technical Impact&quot;: &quot;partial&quot;
L238:                       }
L239:                     ],
L240:                     &quot;role&quot;: &quot;CISA Coordinator&quot;,
L241:                     &quot;timestamp&quot;: &quot;2026-07-01T14:54:21.105642Z&quot;,
L242:                     &quot;version&quot;: &quot;2.0.3&quot;
L243:                   },
L244:                   &quot;type&quot;: &quot;ssvc&quot;
L245:                 }
L246:               }
L247:             ],
L248:             &quot;providerMetadata&quot;: {
L249:               &quot;dateUpdated&quot;: &quot;2026-07-01T14:54:36.191Z&quot;,
L250:               &quot;orgId&quot;: &quot;134c704f-9b21-4f2e-91b3-4a467353bcc0&quot;,
L251:               &quot;shortName&quot;: &quot;CISA-ADP&quot;
L252:             },
L253:             &quot;title&quot;: &quot;CISA ADP Vulnrichment&quot;
L254:           }
L255:         ],
L256:         &quot;cna&quot;: {
L257:           &quot;affected&quot;: [
L258:             {
L259:               &quot;product&quot;: &quot;msgpack-python&quot;,
L260:               &quot;vendor&quot;: &quot;msgpack&quot;,
L261:               &quot;versions&quot;: [
L262:                 {
L263:                   &quot;status&quot;: &quot;affected&quot;,
L264:                   &quot;version&quot;: &quot;\u003c 1.2.1&quot;
L265:                 }
L266:               ]
L267:             }
L268:           ],
L269:           &quot;descriptions&quot;: [
L270:             {
L289:                 &quot;version&quot;: &quot;3.1&quot;
L290:               }
L291:             }
L292:           ],
L293:           &quot;problemTypes&quot;: [
L294:             {
L295:               &quot;descriptions&quot;: [
L296:                 {
L297:                   &quot;cweId&quot;: &quot;CWE-416&quot;,
L298:                   &quot;description&quot;: &quot;CWE-416: Use After Free&quot;,
L299:                   &quot;lang&quot;: &quot;en&quot;,
L300:                   &quot;type&quot;: &quot;CWE&quot;
L301:                 }
L302:               ]
L303:             }
L304:           ],
L305:           &quot;providerMetadata&quot;: {
L306:             &quot;dateUpdated&quot;: &quot;2026-06-30T21:36:23.418Z&quot;,
L307:             &quot;orgId&quot;: &quot;a0819718-46f1-4df5-94e2-005712e83aaa&quot;,
L308:             &quot;shortName&quot;: &quot;GitHub_M&quot;
L309:           },
L310:           &quot;references&quot;: [
L311:             {
L312:               &quot;name&quot;: &quot;https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964&quot;,
L313:               &quot;tags&quot;: [
L314:                 &quot;x_refsource_CONFIRM&quot;
L315:               ],
L316:               &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964&quot;
L317:             },
L318:             {
L319:               &quot;name&quot;: &quot;https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d&quot;,
L320:               &quot;tags&quot;: [
L321:                 &quot;x_refsource_MISC&quot;
L322:               ],
L323:               &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d&quot;
L324:             }
L325:           ],
L326:           &quot;source&quot;: {
L327:             &quot;advisory&quot;: &quot;GHSA-6v7p-g79w-8964&quot;,
L328:             &quot;discovery&quot;: &quot;UNKNOWN&quot;
L329:           },
L330:           &quot;title&quot;: &quot;MessagePack: Out-of-bounds read/crash on Unpacker reuse after caught error&quot;
L331:         }
L332:       },
L333:       &quot;cveMetadata&quot;: {
L334:         &quot;assignerOrgId&quot;: &quot;a0819718-46f1-4df5-94e2-005712e83aaa&quot;,
L335:         &quot;assignerShortName&quot;: &quot;GitHub_M&quot;,
L336:         &quot;cveId&quot;: &quot;CVE-2026-57585&quot;,
L337:         &quot;datePublished&quot;: &quot;2026-06-30T21:36:23.418Z&quot;,
L338:         &quot;dateReserved&quot;: &quot;2026-06-24T18:49:56.209Z&quot;,
L339:         &quot;dateUpdated&quot;: &quot;2026-07-01T14:54:36.191Z&quot;,
L340:         &quot;state&quot;: &quot;PUBLISHED&quot;
L341:       },
L342:       &quot;dataType&quot;: &quot;CVE_RECORD&quot;,
L343:       &quot;dataVersion&quot;: &quot;5.2&quot;
L344:     }
L345: #### 【41†GHSA-6V7P-G79W-8964】
L346: 
L347: Vulnerability from 【42†github】 – Published: 2026-06-19 21:42 – Updated: 2026-06-19 21:42
L348: 
L349: Summary
L350: 
L351: MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error
L352: 
L353: Details
L354: 
L355: ### Impact
L356: 
L357: If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.
L358: 
L359: If the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.
L360: 
L361: ### Patches
L362: 
L363: v1.2.1
L364: ### Workarounds
L365: 
L366: Users should create a new Unpacker instead of reusing the same Unpacker after an error occurs.
L367: 
L368: Applying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data. If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.
L369: 
L370: Therefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.
L371: 
L372: Severity
L373: 
L374: 7.5 (High)
L375: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L376: 
L377: 【43†Show details on source website†github.com】
L378: 
L379: JSON
L380: 
L381: Share
L382: 
L383:   * 【44†Hacker News†news.ycombinator.com】
L384:   * 【45†LinkedIn†www.linkedin.com】
L385:   * 【46†Mastodon†mastodonshare.com】
L386:   * 【47†Pinboard†api.pinboard.in】
L387:   * 【48†Reddit†reddit.com】
L388: 【0†To clipboard】
L389: 
L390:     {
L391:       &quot;affected&quot;: [
L392:         {
L393:           &quot;database_specific&quot;: {
L394:             &quot;last_known_affected_version_range&quot;: &quot;\u003c= 1.2.0&quot;
L395:           },
L396:           &quot;package&quot;: {
L397:             &quot;ecosystem&quot;: &quot;PyPI&quot;,
L398:             &quot;name&quot;: &quot;msgpack&quot;
L399:           },
L400:           &quot;ranges&quot;: [
L401:             {
L402:               &quot;events&quot;: [
L403:                 {
L404:                   &quot;introduced&quot;: &quot;0&quot;
L405:                 },
L406:                 {
L407:                   &quot;fixed&quot;: &quot;1.2.1&quot;
L408:                 }
L409:               ],
L410:               &quot;type&quot;: &quot;ECOSYSTEM&quot;
L425:       &quot;details&quot;: &quot;### Impact\n\nIf the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV.\n\nIf the Unpacker is used repeatedly to unpack untrusted input from external sources, it may be vulnerable to a DoS attack.\n\n### Patches\n\nv1.2.1\n\n### Workarounds\n\nUsers should create a new Unpacker instead of reusing the same Unpacker after an error occurs.\n\nApplying the above patch can prevent SEGV, but reusing the Streaming Unpacker after it has encountered an error will not yield correct data.
L426: If an error occurs during Streaming Unpacking, the Stream and Streaming Unpacker should be discarded.\n\nTherefore, this is not just a workaround but the correct solution. The above patch only prevents crashes from incorrect usage.&quot;,
L427:       &quot;id&quot;: &quot;GHSA-6v7p-g79w-8964&quot;,
L428:       &quot;modified&quot;: &quot;2026-06-19T21:42:55Z&quot;,
L429:       &quot;published&quot;: &quot;2026-06-19T21:42:55Z&quot;,
L430:       &quot;references&quot;: [
L431:         {
L432:           &quot;type&quot;: &quot;WEB&quot;,
L433:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/security/advisories/GHSA-6v7p-g79w-8964&quot;
L434:         },
L435:         {
L436:           &quot;type&quot;: &quot;WEB&quot;,
L437:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/commit/2c56ddb5d0025ed481d962c0f5d62d19dec7476d&quot;
L438:         },
L439:         {
L440:           &quot;type&quot;: &quot;PACKAGE&quot;,
L441:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python&quot;
L442:         },
L443:         {
L444:           &quot;type&quot;: &quot;WEB&quot;,
L445:           &quot;url&quot;: &quot;https://github.com/msgpack/msgpack-python/releases/tag/v1.2.1&quot;
L446:         }
L447:       ],
L448:       &quot;schema_version&quot;: &quot;1.4.0&quot;,
L449:       &quot;severity&quot;: [
L450:         {
L451:           &quot;score&quot;: &quot;CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H&quot;,
L452:           &quot;type&quot;: &quot;CVSS_V3&quot;
L453:         }
L454:       ],
L455:       &quot;summary&quot;: &quot;MessagePack for Python: Out-of-bounds read / crash on Unpacker reuse after a caught error&quot;
L456:     }
L457: #### 【49†PYSEC-2026-3625】
L458: 
L459: Vulnerability from 【50†pysec】 - Published: 2026-06-30 22:16 - Updated: 2026-08-07 09:08
L460: 
L461: Details
L462: 
L463: MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.1, there is an Out-of-bounds read/crash on Unpacker reuse after a caught error, potentially leading to a DoS attack. If the Unpacker is used repeatedly after an error occurs, the process may crash with a SEGV. This issue has been fixed in version 1.2.1.
L464: 
L465: Severity
L466: 
L467: 7.5 (High)
L468: ` 【17†CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H†www.first.org】 `
L469: 
L470: Impacted products
L471: 
L472: Name  | purl
L473: --- | ---
L474: msgpack  | pkg:pypi/msgpack
L475: 
L476: Aliases
L477: 
L478:   * 【51†CVE-2026-57585】
L479:   * 【14†GHSA-6v7p-g79w-8964】
L480: 
L481: JSON
L482: 
L483: Share
L484: 
L485:   * 【52†Hacker News†news.ycombinator.com】
L486:   * 【53†LinkedIn†www.linkedin.com】
L487:   * 【54†Mastodon†mastodonshare.com】
L488:   * 【55†Pinboard†api.pinboard.in】
L489:   * 【56†Reddit†reddit.com】
L490: 【0†To clipboard】
L491: 
L492:     {
L493:       &quot;affected&quot;: [
L494:         {
L495:           &quot;ecosystem_specific&quot;: {},
L496:           &quot;package&quot;: {
L497:             &quot;ecosystem&quot;: &quot;PyPI&quot;,
L498:             &quot;name&quot;: &quot;msgpack&quot;,
L499:             &quot;purl&quot;: &quot;pkg:pypi/msgpack&quot;
L500:           },
L501:           &quot;ranges&quot;: [
L502:             {
L503:               &quot;events&quot;: [
L504:                 {
L505:                   &quot;introduced&quot;: &quot;0&quot;
L506:                 },
L507:                 {
L508:                   &quot;fixed&quot;: &quot;1.2.1&quot;
L509:                 }
L510:               ],
L511:               &quot;type&quot;: &quot;ECOSYSTEM&quot;
L512:             }
L513:           ],
L514:           &quot;versions&quot;: [
L515:             &quot;0.5.0&quot;,
L516:             &quot;0.5.1&quot;,
L517:             &quot;0.5.2&quot;,
L518:             &quot;0.5.3&quot;,
L519:             &quot;0.5.4&quot;,
L520:             &quot;0.5.5&quot;,
L521:             &quot;0.5.6&quot;,
L522:             &quot;0.6.0&quot;,
L523:             &quot;0.6.1&quot;,
L524:             &quot;0.6.2&quot;,
L525:             &quot;1.0.0&quot;,
L526:             &quot;1.0.0rc1&quot;,
L527:             &quot;1.0.1&quot;,
L528:             &quot;1.0.2&quot;,
L529:             &quot;1.0.3&quot;,
L530:             &quot;1.0.3rc1&quot;,
L531:             &quot;1.0.4&quot;,
L532:             &quot;1.0.4rc1&quot;,
L533:             &quot;1.0.5&quot;,
L534:             &quot;1.0.5rc1&quot;,
L535:             &quot;1.0.6&quot;,
L536:             &quot;1.0.6rc1&quot;,
L537:             &quot;1.0.7&quot;,
L538:             &quot;1.0.8&quot;,
L539:             &quot;1.1.0&quot;,
L540:             &quot;1.1.0rc1&quot;,
L541:             &quot;1.1.0rc2&quot;,
L542:             &quot;1.1.1&quot;,
L543:             &quot;1.1.1rc1&quot;,
L544:             &quot;1.1.2&quot;,
L545:             &quot;1.2.0&quot;,
L546:             &quot;1.2.0rc1&quot;
L547:           ]
L548:         }
L549:       ],
L550:       &quot;aliases&quot;: [
L551:   …[truncated]</excerpt>
</source>
<source kind="open_page">
<title>Homebrew Formulae: datalad</title>
<location>https://formulae.brew.sh/formula/datalad</location>
<excerpt>citeturn2view1 [wordlim: 200] Crawled: today; Content type: text/html; Source: open({&quot;ref_id&quot;:&quot;turn0search0&quot;,&quot;lineno&quot;:null}); Total lines: 51
L0: 【0†Image: Homebrew Formulae logo†brew.sh】
L1: 
L2: # 【1†Homebrew Formulae】
L3: ## datalad
L4: 
L5: Install command:
L6: 
L7:     `brew install datalad`
L8: 
L9: Data distribution geared toward scientific datasets
L10: 
L11: 【2†https://www.datalad.org†www.datalad.org】
L12: 
L13: License: MIT
L14: 
L15: Development: 【3†Pull requests†github.com】
L16: 
L17: Formula JSON API: 【4†`/api/formula/datalad.json`】
L18: 
L19: Formula code: 【5†`datalad.rb`†github.com】 on GitHub
L20: 
L21: Bottle (binary package) installation support provided for:
L22: 
L23: macOS on
L24: Apple Silicon  | golden gate  | ✅
L25: tahoe  | ✅
L26: sequoia  | ✅
L27: Linux  | ARM64  | ✅
L28: x86_64  | ✅
L29: 
L30: Current versions:
L31: stable  | ✅  | 1.7.1
L32: head  | ⚡️  | HEAD
L33: 
L34: Depends on:
L35: 
L36: 【6†certifi】  | 2026.10.23  | Mozilla CA bundle for Python
L37: 【7†cryptography】  | 50.0.2  | Cryptographic recipes and primitives for Python
L38: 【8†git-annex】  | 10.20261026  | Manage files with git without checking in file contents
L39: 【9†p7zip】  | 17.06  | 7-Zip (high compression file archiver) implementation
L40: 【10†python@3.15】  | 3.15.2  | Interpreted, interactive, object-oriented programming language
L41: Binaries: `datalad`, `git-annex-remote-datalad`, `git-annex-remote-datalad-archives`, `git-annex-remote-ora`, `git-annex-remote-ria`, `git-credential-datalad`
L42: 
L43: Analytics:
L44: 
L45:  | 30 days  | 90 days  | 365 days
L46: Installs  | 76  | 190  | 1,074
L47: Installs (`--HEAD`)  | 0  | 0  | 2
L48: Installs on Request  | 76  | 190  | 1,074
L49: Installs on Request (`--HEAD`)  | 0  | 0  | 2
L50: Build Errors  | 0  |  |
</excerpt>
</source>
<source kind="open_page">
<title>CVE-2026-114613</title>
<location>https://security-tracker.debian.org/tracker/CVE-2026-114613</location>
<excerpt>citeturn2view2 [wordlim: 200] Crawled: today; Content type: text/html; Source: open({&quot;ref_id&quot;:&quot;turn0search1&quot;,&quot;lineno&quot;:null}); Total lines: 31
L0: # CVE-2026-114613
L1: Name  | CVE-2026-114613
L2: Description  | MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.3, the msgpack-python C extension (msgpack._cmsgpack) leaks a decoded map value when deserialization rejects a key with strict_map_key=True (the default). Repeated malformed inputs can cause unbounded process memory growth and denial of service in applications that deserialize attacker-controlled MessagePack data. Both unpackb() and the streaming Unpacker API are affected.
L3: The pure-Python fallback does not exhibit this leak in the reported tests. This issue is fixed in version 1.2.3.
L4: Source  | 【0†CVE†www.cve.org】 (at 【1†NVD†nvd.nist.gov】; 【2†CERT†www.kb.cert.org】, 【3†ENISA†euvd.enisa.europa.eu】, 【4†LWN†lwn.net】, 【5†oss-sec†marc.info】, 【6†fulldisc†marc.info】, 【7†Debian ELTS†deb.freexian.com】, 【8†Red Hat†bugzilla.redhat.com】, 【9†Ubuntu†ubuntu.com】, 【10†Gentoo†bugs.gentoo.org】, SUSE 【11†bugzilla†bugzilla.suse.com】/【12†CVE†www.suse.com】, GitHub 【13†advisories†github.com】/【14†code†github.com】/【15†issues†github.com】, 【16†web search†duckduckgo.com】, 【17†more†oss-security.openwall.org】)
L5: Debian Bugs  | 【18†1151844†bugs.debian.org】
L6: ## Vulnerable and fixed packages
L7: 
L8: The table below lists information on source packages.
L9: 
L10: Source Package  | Release  | Version  | Status
L11: --- | --- | --- | ---
L12: 【19†python-msgpack】 (【20†PTS†tracker.debian.org】)  | bookworm  | 1.0.3-2  | vulnerable
L13:  | trixie  | 1.0.3-3  | vulnerable
L14:  | forky  | 1.2.1-1  | vulnerable
L15:  | sid  | 1.2.1-3  | fixed
L16: 
L17: The information below is based on the following data on fixed versions.
L18: Package  | Type  | Release  | Fixed Version  | Urgency  | Origin  | Debian Bugs
L19: --- | --- | --- | --- | --- | --- | ---
L20: 【19†python-msgpack】  | source  | (unstable)  | 1.2.1-2  |  |  | 【18†1151844†bugs.debian.org】
</excerpt>
</source>
<source kind="search">
<title>Homebrew Formulae: datalad</title>
<location>https://formulae.brew.sh/formula/datalad</location>
<excerpt>citeturn0search0 [wordlim: 200] Crawled: 3 weeks ago; # Homebrew Formulae ... Formula JSON API: `/api/formula/datalad.json`

Formula code: `datalad.rb` on GitHub ... stable  | ✅  | 1.6.5 ... python@3.14  | 3.14.8  | Interpreted, interactive, object-oriented programming language

# Homebrew Formulae

## datalad

Install command:
    
    `brew install datalad`

Data distribution geared toward scientific datasets

https://www.datalad.org

License: MIT

Development: Pull requests

Formula JSON API: `/api/formula/datalad.json`

Formula code: `datalad.rb` on GitHub

Bottle (binary package) installation support provided for:

macOS on
Apple Silicon  | golden gate  | ✅
tahoe  | ✅
sequoia  | ✅
Linux  | ARM64  | ✅
x86_64  | ✅

Current versions:

stable  | ✅  | 1.6.5
head  | ⚡️  | HEAD

Depends on:

certifi  | 2026.7.22  | Mozilla CA bundle for Python
cryptography  | 50.0.2  | Cryptographic recipes and primitives for Python
git-annex  | 10.20260901  | Manage files with git without checking in file contents
p7zip  | 17.06  | 7-Zip (high compression file archiver) implementation
python@3.14  | 3.14.8  | Interpreted, interactive, object-oriented programming language

Binaries: `datalad`, `git-annex-remote-datalad`, `git-annex-remote-datalad-archives`, `git-annex-remote-ora`, `git-annex-remote-ria`, `git-credential-datalad`

Analytics:

 | 30 days  | 90 days  | 365 days
Installs  | 46  | 188  | 1,106
Installs (`--HEAD`)  | 0  | 0  | 2
Installs on Request  | 46  | 188  | 1,106
Installs on Request (`--HEAD`)  | 0  | 0  | 2
Build Errors  | 0  |  | </excerpt>
</source>
<source kind="search">
<title>CVE-2026-114613</title>
<location>https://security-tracker.debian.org/tracker/CVE-2026-114613</location>
<excerpt>citeturn0search1 [wordlim: 200] Crawled: 4 days ago; # CVE-2026-114613 ... Description  | MessagePack is the serializer implementation for Python msgpack.org.
# CVE-2026-114613

Name  | CVE-2026-114613
Description  | MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.3, the msgpack-python C extension (msgpack._cmsgpack) leaks a decoded map value when deserialization rejects a key with strict_map_key=True (the default). Repeated malformed inputs can cause unbounded process memory growth and denial of service in applications that deserialize attacker-controlled MessagePack data. Both unpackb() and the streaming Unpacker API are affected. The pure-Python fallback does not exhibit this leak in the reported tests. This issue is fixed in version 1.2.3.
Source  | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

## Vulnerable and fixed packages

The table below lists information on source packages.

Source Package  | Release  | Version  | Status
--- | --- | --- | ---
python-msgpack (PTS)  | bookworm  | 1.0.3-2  | vulnerable
 | trixie  | 1.0.3-3  | vulnerable
 | forky, sid  | 1.2.1-1  | vulnerable

The information below is based on the following data on fixed versions.

Package  | Type  | Release  | Fixed Version  | Urgency  | Origin  | Debian Bugs
--- | --- | --- | --- | --- | --- | ---
python-msgpack  | source  | (unstable)  | (unfixed)  |  |  | 

## Notes
    
    https://github.com/msgpack/msgpack-python/security/advisories/GHSA-j586-36cw-2gc2
    Fixed by: https://github.com/msgpack/msgpack-python/commit/620b0eb4c89cd72d4098564537624d9dbb2ce141 (v1.2.3)</excerpt>
</source>
<omitted_sources count="42">Additional source records were omitted from this bounded result.</omitted_sources>
</source_evidence>

Citations:

- 1: https://formulae.brew.sh/formula/datalad
- 2: https://security-tracker.debian.org/tracker/CVE-2026-114613
- 3: https://cve.radiocsirt.org/vuln/brew-datalad-cve-2026-57585

Verify the lower affected-version boundary before publication.

The record presents 0.14.0 as a definitive lower boundary with confidence set to high. Its details state that the earliest affected msgpack release is unresolved. Trace the historical datalad resource versions and either use a boundary supported by that history or defer this candidate.

Source: Learnings

]
},
"summary": "setuptools: Windows path escape via namespace_packages.txt during legacy wheel installation Description",
"details": "### Summary\n\nOn Windows, attacker-controlled content in a wheel's\n`.dist-info/namespace_packages.txt` can cause setuptools' legacy wheel\ninstallation path to create an `__init__.py` outside the requested\n`destination_eggdir`.\n\nThe attacker can influence the destination path, but not the contents of\nthe created file.\n\n### Details\n\nTested setuptools commit:\n\n`6ead555c5fb29bc57fe6105b1bffc163f56fd558`\n\nRelevant source:\n\n`setuptools/wheel.py`\n\nSHA-256:\n\n`359b7e0d5dd8c3135653abe08a8ed5dc0352eadfd7df22cb5e2b5303b7c3cafd`\n\nThe relevant call path is:\n\n`Wheel(wheel_path).install_as_egg(destination)`\n→ `_install_as_egg`\n→ `_convert_metadata`\n→ `_fix_namespace_packages`\n\nA wheel can provide attacker-controlled content in:\n\n`<distribution>.dist-info/namespace_packages.txt`\n\nThe namespace value is eventually used approximately as:\n\n```python\nmod_dir = os.path.join(destination_eggdir, *mod.split('.'))\nmod_init = os.path.join(mod_dir, '__init__.py')\n\nIf mod is a Windows drive-qualified absolute path containing no dots,\nmod.split('.') preserves it as a single component.\nOn Windows, os.path.join(destination_eggdir, absolute_component) discards\nthe original base directory and resolves to the attacker-supplied absolute\npath.\nThe existing wheel filename and ZIP traversal checks do not validate this\nmetadata value before it is subsequently interpreted as a filesystem path.\n\n```markdown\n### PoC\n\nThe reproduction was performed entirely inside a disposable temporary\ndirectory.\n\nLayout:\n\n```text\nsandbox/\n destination/\n outside/\n input/\n canary.txt\n```\n\nA synthetic wheel was created containing:\n\n`demo_pkg-1.0.dist-info/namespace_packages.txt`\n\nwhose content was the absolute path of:\n\n`sandbox\\outside`\n\nThe real acquired setuptools implementation was then invoked:\n\n```python\nsetuptools.wheel.Wheel(synthetic_wheel).install_as_egg(\n sandbox_destination\n)\n```\n\nThe operation completed without exception.\n\nExpected metadata was created under:\n\n`sandbox\\destination\\EGG-INFO`\n\nbut setuptools also created:\n\n`sandbox\\outside\\__init__.py`\n\nThe file did not exist before execution.\n\nIts contents were:\n\n```python\n__import__('pkg_resources').declare_namespace(__name__)\n```\n\nThe unrelated canary remained byte-identical.\n\nThe sandbox was deleted after recording the evidence.\n```\n\n\n### Impact\n\nA crafted wheel can cause setuptools to create a fixed-content\n`__init__.py` outside the intended installation directory at a\nfilesystem path influenced by the wheel, with the permissions of the\nprocess performing the installation.\n\nThe demonstrated reproduction required the target parent directory to\nalready exist.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor · Functional Correctness · Quick win

Supported by static analysis

Script executed:

sed -n '45,60p' advisories/BREW-dnsviz-GHSA-xmj3-9gf7-h52w.json
rg -n 'details|upstream|verbatim|generated|render' CONTRIBUTING.md README.md

Repository: Homebrew/advisory-database

Length of output: 15678


Close the unmatched Markdown fences in the details field.

The first fence, ```python, is not closed after the mod_init line. The ```markdown line cannot close it, because a closing fence cannot carry an info string. The PoC start therefore renders as Python code until the layout block's closing fence. The bare fence after "The sandbox was deleted after recording the evidence." then opens a new block that runs to the end of the text, so the ### Impact section renders as code.

The fix below closes the Python block after the code, removes the markdown opener, and removes the stray final fence. In the JSON details string, apply the same edits to the \n-escaped text.

🐛 Suggested fix
 mod_init = os.path.join(mod_dir, '__init__.py')
+```
 
 If mod is a Windows drive-qualified absolute path containing no dots,
 The existing wheel filename and ZIP traversal checks do not validate this
 metadata value before it is subsequently interpreted as a filesystem path.
 
-```markdown
 ### PoC
 The sandbox was deleted after recording the evidence.
-```
 
 
 ### Impact

details is copied from the upstream OSV record (README.md:9). If the upstream GHSA text contains the same fences, correct it upstream too. Otherwise a later refresh may restore the malformed fences.

@BrewTestBot
BrewTestBot force-pushed the matched-advisories-2b branch from 23cfbfe to 0924dc9 Compare October 28, 2026 11:03

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


Review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 23cfbfe and 0924dc9.

Files selected for processing: 67
  • advisories/BREW-aider-CVE-2025-43859.json
  • advisories/BREW-aider-CVE-2026-110855.json
  • advisories/BREW-aider-CVE-2026-110856.json
  • advisories/BREW-aider-CVE-2026-110857.json
  • advisories/BREW-aider-CVE-2026-110858.json
  • advisories/BREW-aider-CVE-2026-110859.json
  • advisories/BREW-aider-CVE-2026-110860.json
  • advisories/BREW-aider-CVE-2026-111063.json
  • advisories/BREW-aider-CVE-2026-112390.json
  • advisories/BREW-aider-CVE-2026-112391.json
  • advisories/BREW-aider-CVE-2026-112392.json
  • advisories/BREW-aider-CVE-2026-112393.json
  • advisories/BREW-aider-CVE-2026-112394.json
  • advisories/BREW-aider-CVE-2026-112395.json
  • advisories/BREW-aider-CVE-2026-112396.json
  • advisories/BREW-aider-CVE-2026-112397.json
  • advisories/BREW-aider-CVE-2026-112399.json
  • advisories/BREW-aider-CVE-2026-112400.json
  • advisories/BREW-aider-CVE-2026-112401.json
  • advisories/BREW-aider-CVE-2026-112402.json
  • advisories/BREW-aider-CVE-2026-112403.json
  • advisories/BREW-aider-CVE-2026-112404.json
  • advisories/BREW-aider-CVE-2026-112405.json
  • advisories/BREW-aider-CVE-2026-112406.json
  • advisories/BREW-aider-CVE-2026-112891.json
  • advisories/BREW-aider-CVE-2026-112892.json
  • advisories/BREW-aider-CVE-2026-112893.json
  • advisories/BREW-aider-CVE-2026-112894.json
  • advisories/BREW-aider-CVE-2026-112895.json
  • advisories/BREW-aider-CVE-2026-112896.json
  • advisories/BREW-aider-CVE-2026-112897.json
  • advisories/BREW-aider-CVE-2026-112898.json
  • advisories/BREW-aider-CVE-2026-112900.json
  • advisories/BREW-aider-CVE-2026-112901.json
  • advisories/BREW-aider-CVE-2026-114145.json
  • advisories/BREW-aider-CVE-2026-114501.json
  • advisories/BREW-aider-CVE-2026-96636.json
  • advisories/BREW-aider-CVE-2026-96637.json
  • advisories/BREW-aider-CVE-2026-96638.json
  • advisories/BREW-aider-CVE-2026-96639.json
  • advisories/BREW-aider-CVE-2026-96640.json
  • advisories/BREW-aider-CVE-2026-96641.json
  • advisories/BREW-aider-CVE-2026-96642.json
  • advisories/BREW-aider-CVE-2026-96643.json
  • advisories/BREW-aider-CVE-2026-96778.json
  • advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
  • advisories/BREW-aider-GHSA-hhww-mrg2-969h.json
  • advisories/BREW-datalad-CVE-2026-114613.json
  • advisories/BREW-dnsviz-CVE-2026-114605.json
  • advisories/BREW-dnsviz-GHSA-xmj3-9gf7-h52w.json
  • advisories/BREW-mcp-proxy-CVE-2026-116684.json
  • advisories/BREW-mcp-proxy-CVE-2026-116685.json
  • advisories/BREW-mcp-proxy-CVE-2026-116686.json
  • advisories/BREW-mcp-proxy-GHSA-pxh4-856f-4h89.json
  • advisories/BREW-mistral-vibe-CVE-2026-110855.json
  • advisories/BREW-mistral-vibe-CVE-2026-110856.json
  • advisories/BREW-mistral-vibe-CVE-2026-110857.json
  • advisories/BREW-mistral-vibe-CVE-2026-110858.json
  • advisories/BREW-mistral-vibe-CVE-2026-110859.json
  • advisories/BREW-mistral-vibe-CVE-2026-110860.json
  • advisories/BREW-mistral-vibe-CVE-2026-114145.json
  • advisories/BREW-mistral-vibe-CVE-2026-114603.json
  • advisories/BREW-mistral-vibe-CVE-2026-116684.json
  • advisories/BREW-mistral-vibe-CVE-2026-116685.json
  • advisories/BREW-mistral-vibe-CVE-2026-116686.json
  • advisories/BREW-mistral-vibe-GHSA-pxh4-856f-4h89.json
  • advisories/BREW-py7zr-CVE-2026-111497.json
Files skipped from review as they are similar to previous changes: 2

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

],
"ecosystem_specific": {
"fix": null,
"range_state": "affected",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major · Data Integrity & Integration · Quick win

Supported by static analysis

Script executed:

python - <<'PY'
import io, json, tarfile, urllib.request

url = "https://pypi.org/pypi/aider-chat/0.86.2/json"
with urllib.request.urlopen(url) as response:
    metadata = json.load(response)
sdist = next(item["url"] for item in metadata["urls"]
             if item["packagetype"] == "sdist")
with urllib.request.urlopen(sdist) as response:
    archive = tarfile.open(fileobj=io.BytesIO(response.read()), mode="r:gz")
    for member in archive.getmembers():
        if member.isfile() and member.name.endswith(".py"):
            text = archive.extractfile(member).read().decode("utf-8", "replace")
            for number, line in enumerate(text.splitlines(), 1):
                if any(term in line for term in ("litellm.proxy", "proxy_server", "uvicorn")):
                    print(f"{member.name}:{number}: {line.strip()}")
PY

Repository: Homebrew/advisory-database

Length of output: 164


Script executed:

set -u
printf '%s\n' '--- advisory ---'
nl -ba advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
printf '%s\n' '--- diff from merge base ---'
git diff --stat 75092d1f213c88ab880617ed8dd3ad030e3f7416 0924dc94bb2a15e7e8f5acfa5d82a1b64933b209 -- advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
git diff -- 75092d1f213c88ab880617ed8dd3ad030e3f7416 0924dc94bb2a15e7e8f5acfa5d82a1b64933b209 -- advisories/BREW-aider-GHSA-g5ff-637f-6q2m.json
printf '%s\n' '--- package metadata and archive contents ---'
python3 - <<'PY'
import io, json, tarfile, zipfile, urllib.request
def get(url):
    with urllib.request.urlopen(url, timeout=30) as r:
        return r.read()
for project, version in [('aider-chat','0.86.2'), ('litellm','1.81.10')]:
    data = json.loads(get(f'https://pypi.org/pypi/{project}/{version}/json'))
    print(f'[{project} {version}]')
    print('requires_dist:')
    for item in data['info'].get('requires_dist') or []:
        if 'litellm' in item.lower() or project == 'litellm':
            print(item)
    for item in data['info'].get('classifiers') or []:
        if 'Python' in item:
            pass
    for item in data['urls']:
        if item['packagetype'] in ('sdist','bdist_wheel'):
            print('file', item['filename'], item['packagetype'], item['url'])
    for item in data['urls']:
        if item['packagetype'] == 'bdist_wheel':
            raw = get(item['url'])
            z = zipfile.ZipFile(io.BytesIO(raw))
            names = z.namelist()
            print('entry_points:', [n for n in names if 'entry_points' in n])
            for name in names:
                if name.endswith(('.dist-info/entry_points.txt','/entry_points.txt')):
                    print(z.read(name).decode('utf-8','replace'))
            hits = [n for n in names if any(x in n.lower() for x in ('proxy','litellm'))]
            print('archive hits:', hits[:80])
            break
PY

Repository: Homebrew/advisory-database

Length of output: 10657


Script executed:

python3 - <<'PY'
import io, json, urllib.request, zipfile
def get(url):
    with urllib.request.urlopen(url, timeout=30) as r:
        return r.read()
meta = json.loads(get('https://pypi.org/pypi/litellm/1.81.10/json'))
wheel = next(x for x in meta['urls'] if x['packagetype'] == 'bdist_wheel')
z = zipfile.ZipFile(io.BytesIO(get(wheel['url'])))
names = z.namelist()
wanted = [
    'litellm/__init__.py',
    'litellm/__main__.py',
    'litellm/proxy/client/cli.py',
    'litellm/proxy/proxy_server.py',
    'litellm/proxy/management_endpoints/ui_sso.py',
]
for name in wanted:
    print(f'--- {name} ---')
    if name not in names:
        print('MISSING')
        continue
    text = z.read(name).decode('utf-8', 'replace').splitlines()
    for i, line in enumerate(text, 1):
        if (name.endswith('__init__.py') or name.endswith('__main__.py')) and i > 260:
            break
        if name.endswith('cli.py') and i > 220:
            break
        if name.endswith('proxy_server.py') and i > 220:
            break
        if name.endswith('ui_sso.py') and i > 180:
            break
        print(f'{i:4} {line}')
print('--- proxy-related files ---')
for n in names:
    if n.startswith('litellm/proxy/') and n.endswith('.py') and any(k in n for k in ('proxy_server','cli','utils','transform_request')):
        print(n)
PY
printf '%s\n' '--- action metadata candidates ---'
rg -n -F --glob '*.yml' --glob '*.yaml' --glob '*.json' -e '40657111712' -e 'homebrew-core' -e 'aider' . || test "$?" -eq 1

Repository: Homebrew/advisory-database

Length of output: 41461


Check that the Homebrew package installs LiteLLM’s proxy dependencies.

Aider 0.86.2 requires litellm==1.81.10, but not litellm[proxy]. In LiteLLM 1.81.10, litellm.proxy.proxy_server imports proxy-only dependencies and raises an ImportError that directs users to install litellm[proxy] when they are absent. Unless the Aider formula installs those dependencies separately, the default keg cannot start the affected proxy endpoints and this match may produce a false alert.

Source: Learnings

@BrewTestBot
BrewTestBot force-pushed the matched-advisories-2b branch from 0924dc9 to 1830224 Compare October 29, 2026 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant